package com.kingmed.kmss.common.bo.bpmn;

import java.io.Serializable;

import com.kingmed.kmss.common.enums.bpmn.ProcessType;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ProcessStarterBO implements Serializable {
	private static final long serialVersionUID = 2106253285581871339L;

	@ApiModelProperty("流程定义key，xml中的process ID")
	private String procDefKey; // 流程定义key，或者叫做流程模板编号
	//private String tenantId;//租户，暂时不用
	@ApiModelProperty("业务类型， 做为种子，要生成唯一的业务流程编号(businessKey)。 可以用模块-功能的名称，如：mkt-act")
	private String businessType; // 业务类型， 做为种子，要生成唯一的业务流程编号(businessKey)
	private String businessKey; // 业务流程编号
	@ApiModelProperty("流程名称-${module}-${function}")
	private String instanceName; // 接口调用可不指定，程序中会生成， 格式：businessType: business ID, 如mkt-act:1
	
	@ApiModelProperty("流程发起人。 若不指定默认为当前登录用户")
	private String startUserId; // 流程发起人
	
	@ApiModelProperty("业务表主键ID")
	private String businessId; 
	
	@ApiModelProperty("流程发起人所在上级组织orgId（子公司或大区级）")
	private Long parentOrgId; 
	
	@ApiModelProperty("组织类型-1=子公司， 2=大区， 3=集团")
	private int orgType; 
	
	@ApiModelProperty("提交/审批意见")
	private String comment; 
	
	@ApiModelProperty("流程审批类型")
	private ProcessType processType; 
	
	@ApiModelProperty("流程中需要使用的变量-调用时不需要用（服务中会自己拼装）")
	private ProcessVariableBO procVars;

}
